package com.ruoyi.system.domain.dto;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 用户资金变动对象 t_user_money_change
 * 
 * @author ruoyi
 * @date 2024-04-16
 */
public class TUserMoneyChangeDto
{


    /** 交易信息 */
    private Long id;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

    /** 用户id */
    @Excel(name = "用户名称")
    private Long userName;

    /** 交易类型交易类型（1-任务收入；2-佣金收入；3-体现支出；4-购买支出；5-充值明细） */
    @Excel(name = "交易类型", readConverterExp = "1=-任务收入；2-佣金收入；3-体现支出；4-购买支出；")
    private Integer type;

    /** 审核状态（1-提交待审核；2-审核通过；3-审核通过待处理；4-处理成功；5-已拒绝） */
    @Excel(name = "审核状态", readConverterExp = "1=-提交待审核；2-审核通过；3-审核通过待处理；4-处理成功；5-已拒绝")
    private Long auditStatus;

    /** 处理金额 */
    @Excel(name = "处理金额")
    private BigDecimal money;

    /** 处理前金额 */
    @Excel(name = "处理前金额")
    private BigDecimal beforeMoney;

    /** 年月日时间（产生费用的时间） */
    @Excel(name = "年月日时间", readConverterExp = "产=生费用的时间")
    private String time;

    /** 支付后需要操作的数据源id，佣金收入表示收入的任务id */
    @Excel(name = "支付后需要操作的数据源id，佣金收入表示收入的任务id")
    private Long sourceId;

    private String taskName;

    /** 原因 */
    @Excel(name = "原因")
    private String reason;

    /** 0-有效；1-无效 */
    @Excel(name = "0-有效；1-无效")
    private Integer isDelete;

    // 团队等级 （1集团队提供，2-二级；3-三级团提供收益）
    private int teamLevel;

    // 佣金来源用户id
    private Long sourceUserId;

    public Long getSourceUserId() {
        return sourceUserId;
    }

    public void setSourceUserId(Long sourceUserId) {
        this.sourceUserId = sourceUserId;
    }

    public int getTeamLevel() {
        return teamLevel;
    }

    public void setTeamLevel(int teamLevel) {
        this.teamLevel = teamLevel;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setAuditStatus(Long auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public Long getAuditStatus() 
    {
        return auditStatus;
    }

    public BigDecimal getMoney() {
        return money;
    }

    public void setMoney(BigDecimal money) {
        this.money = money;
    }

    public BigDecimal getBeforeMoney() {
        return beforeMoney;
    }

    public void setBeforeMoney(BigDecimal beforeMoney) {
        this.beforeMoney = beforeMoney;
    }

    public void setTime(String time)
    {
        this.time = time;
    }

    public String getTime() 
    {
        return time;
    }
    public void setSourceId(Long sourceId) 
    {
        this.sourceId = sourceId;
    }

    public Long getSourceId() 
    {
        return sourceId;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setIsDelete(Integer isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Integer getIsDelete() 
    {
        return isDelete;
    }

   }
